package com.gengzp.system.service;

import com.gengzp.common.model.user.req.AddSysUserReq;
import com.gengzp.common.model.user.req.EditUserPasswordReq;
import com.gengzp.common.model.user.req.LoginUserReq;
import com.gengzp.common.model.user.resp.LoginUserResp;

/**
 * @ClassName IUserAuthenticationService
 * @Description 用户认证服务层接口
 * @Author gengzp
 * @Date 2025/5/11 3:22
 */
public interface ISysUserAuthenticationService {

    /**
     * 注册用户
     *
     * @param req 添加用户请求实体
     */
    LoginUserResp doRegister(AddSysUserReq req);

    /**
     * 登录用户
     *
     * @param req 用户登录请求实体
     */
    LoginUserResp doLogin(LoginUserReq req);

    /**
     * 退出登录
     *
     * @param token      token
     */
    void doQuit(String token);

    /**
     * 修改密码
     *
     * @param req 修改密码请求实体
     */
    void doEditPassword(EditUserPasswordReq req);

}
